package com.easytake.emotioncat.config;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.Collections;

/**
 * 代码生成器
 */
public class MpGenerator {
    public static void main(String[] args) {
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/emotion_cat?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC&allowPublicKeyRetrieval=true", "root", "wangzi333").globalConfig(builder -> {
                    builder
//                            .enableSwagger() // 开启 swagger 模式
                            .outputDir("C:\\Users\\18241\\Desktop\\generate"); // 指定输出目录
                }).packageConfig(builder -> {
                    builder.parent("com.easytake.emotioncat") // 设置父包名
//                            .moduleName("emotioncat") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, "C:\\Users\\18241\\Desktop\\generate")); // 设置mapperXml生成路径
                }).strategyConfig(builder -> {
                    builder
//                            .addInclude("em_dictionary"); // 设置需要生成的表名
                            .addExclude("flyway_schema_history") // 设置过滤表表名
                            .entityBuilder()
                            .enableLombok()
                            .enableRemoveIsPrefix()
                            .enableTableFieldAnnotation()
                            .formatFileName("%sEntity");
                }).templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                .execute();
    }
}
